package lq2088;

import java.util.Scanner;
/*
POJ2533
输入样例：
5 1
1 4 2 8 5

输出：
4
输入样例：
15 1
9 8 10 3 3 3 7 1 2 5 8 5 9 4 9

输出：
8
 * */
public class Main {

	
	static int[] d;
	public static void main(String[] args) {
		
		Scanner sc=new Scanner(System.in);
		int n = sc.nextInt();
		int k = sc.nextInt();
		
		//从1下标开始存放，数组总长必须是n+1
		int[] a = new int[n+1];
		int[] old = new int[n+1];
		int[] dp = new int[n+1];
		
		for(int i=1;i<=n;i++) {
			old[i] = sc.nextInt();
		}
		
		//存放最终结果
		int res=0;
		//拿掉k个数，s为k替换的开始位置
		//s包含1
		a[0] = 1;
		for(int s=1;s<=n-k+1;s++) {
			for(int i=1;i<=n;i++) {
				a[i] = old[i];
			}
			//改k个数，这k个数和前一个数相等
			//如果s=1，k个数全为0
			for(int t=0;t<k;t++) {
				a[s+t] = a[s-1];
			}
			//输出a
//			for(int i=1;i<=n;i++) {
//				System.out.printf("%d,", a[i]);
//			}
//			System.out.println();
			
			//存放阶段结果
			int ans=0;
		
			//计算LIS，O（N*N）	
//			for(int i=1;i<=n;i++) {
//				dp[i] = 1;
//				for(int j=1;j<i;j++) {
//					//动态更新每一个元素作为最后一个元素所构造的序列长度
//					//最长不下降用<=
//					if(a[j]<=a[i]) {
//						dp[i] = Math.max(dp[i], dp[j] + 1);
//					}
//				}
//				if(dp[i]>ans)
//					ans = dp[i];
//			}
			
			//计算LIS,O（N*logN）
			d = new int[n+1];
			ans = lis2(a);
			
			
			//输出当前LIS
			//System.out.println(ans);
			
			//取最大情况
			if(res<ans)
				res = ans;
		}
		
		//输出最终结果
		System.out.println(res);
	}
	
	
	//最长不下降子序列LIS（模板方法二，需用到二分查找，效率高O(nlogn)）
	//注意下标从1开始计算的
	static int lis2(int[] a) {
		int len = 1;
		int n = a.length -1;
		d[1] = a[1];
		for(int i=2;i<=n;i++) {
			//最长不下降子序列，用>=
			if(a[i] >= d[len]) {
				//大于前一个数字的情况
				len++;
				d[len] = a[i];
			}else {
				//a[i]覆盖d中第一个大于a[i]的数
				int t = upperBound(1,len,a[i],d);
				d[t] = a[i];
			}
		}
		
		return len;
	}
	
	
	// 找到第一个大于target的元素的下标
	// 左开始下标l，右结束下标r，查询范围[l,r]
	// 如果target大于最大的数字，返回最大的数字的下标
	static int upperBound(int l, int r, int target, int[] a) {
	    while(l <= r){
	        int mid = (l+r)/2;
	        if(target>=a[mid]){
	            l = mid + 1;
	        }else {
	            r = mid - 1;
	        }
	    }
	    return l;
	}
}
